/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.invoice.busines;


import com.invoice.busines.dto.SubcategoriaDTO;
import com.invoice.exceptions.InvoiceException;
import com.invoice.model.dao.CategoriaDAO;
import com.invoice.model.dao.CategoriaDAOHibernate;
import com.invoice.model.dao.SubcategoriaDAO;
import com.invoice.model.dao.SubcategoriaDAOHibernate;
import java.io.Serializable;
import java.util.List;
import java.util.logging.Logger;

/**
 *
 * @author meli
 */
public class SubcategoriaBOImpl implements SubcategoriaBO,Serializable{
     private final Logger logger = Logger.getLogger(SubcategoriaBOImpl.class.getName());
    SubcategoriaDAO subcategoriaDAO = new SubcategoriaDAOHibernate();
    
    @Override
    public SubcategoriaDTO addSubcategoria(SubcategoriaDTO subcategoriaDTO) throws Exception {
        Integer id=(Integer)subcategoriaDAO.add(subcategoriaDTO);
        subcategoriaDTO.setIdSubcategoria(id);
                
        return subcategoriaDTO;
    }

     @Override
    public SubcategoriaDTO addSubcategoriaM(SubcategoriaDTO subcategoriaDTO) throws InvoiceException {
        Integer id = (Integer)subcategoriaDAO.add(subcategoriaDTO);
        subcategoriaDTO.setIdSubcategoria(id);
        return subcategoriaDTO;
    }
    
    @Override
    public void deleteSubcategoria(SubcategoriaDTO subcategoriaDTO) throws Exception {
        subcategoriaDAO.delete(subcategoriaDTO);
    }

    @Override
    public void updateSubcategoria(SubcategoriaDTO subcategoriaDTO) throws InvoiceException {
        subcategoriaDAO.update(subcategoriaDTO);
    }
    ///////////////////update PRUEBA
    
       @Override
    public void updateSubcategoria(SubcategoriaDTO subcategoriaDTO, Integer Subcateg) throws Exception {
        subcategoriaDAO.update(subcategoriaDTO);
    }

    @Override
    public SubcategoriaDTO findSubcategoria(String idSubcategoria) throws Exception {
        return subcategoriaDAO.findByIdSubcategoria(idSubcategoria);
    }

    @Override
    public List<SubcategoriaDTO> findAll() throws Exception {
        return subcategoriaDAO.findAll();
    }
    
    
    @Override
    public List<SubcategoriaDTO> findSubcatProductoAll() throws Exception {
        return subcategoriaDAO.findSubcategByIdCategoria(1);
        
    }
    
    @Override
    public List<SubcategoriaDTO> findSubcatTipoUnidadAll() throws Exception {
        return subcategoriaDAO.findSubcategByIdCategoria(2);
    }
    
    @Override
    public List<SubcategoriaDTO> findSubcatTipoUsuarioAll() throws Exception {
        return subcategoriaDAO.findSubcategByIdCategoria(3);
    }
    
     @Override
    public List<SubcategoriaDTO> findConfigImpresorasAll() throws Exception {
        return subcategoriaDAO.findSubcategByIdCategoria(6);
    }
   
    @Override
    public List<SubcategoriaDTO> findConfigDatosFijosAll() throws Exception {
        return subcategoriaDAO.findSubcategByIdCategoria(5);
    }
    
     @Override
    public List<SubcategoriaDTO> findSubcatAll() throws Exception {
        return subcategoriaDAO.findAll();
        
    }
    
}
